Configuring access URLs |
|
Introduction
Process Platform can be accessed through different URLs. If a cluster consists of multiple nodes, then each node has its own URL. The URL used to access the cluster can be different when accessing it from the company network or the internet, for instance, when a reverse proxy is configured to support a DMZ architecture or SSL offloading. This page describes the different properties to define these URLs and instructions to configure the load balancer or reverse proxy.
The following three URL properties are available in Process Platform:
Property name | Description |
---|---|
com.cordys.node.url |
The URL of the local gateway of a (cluster) node. |
com.cordys.internal.cluster.url |
The URL that the Process Platform uses to talk from within the cluster to the load balancer in front of the cluster. |
com.cordys.public.cluster.url |
The URL that users must use when accessing the Process Platform cluster. |
Fall back occurs from bottom to top in the above list. When the public cluster URL is not set, the internal cluster URL will be used instead. If the internal cluster URL is not set, then the node URL is used.
Use the Management Console to change above properties.
To correctly handle client requests that pass through a reverse proxy or load balancer, Process Platform understands the following two X-Forwarded
HTTP headers:
Header name | Description |
---|---|
X-Forwarded-Host |
The original host requested by the client in the Host HTTP request header. |
X-Forwarded-Proto |
Whether the original request by the client was using HTTPS. Valid values are http and https. |
The URL properties are used for requests initiated from within Process Platform. The HTTP headers for requests initiated by a client, for example, a browser.
Notification Change the URL Prefix in the Notification Service Container properties as well. Otherwise, the task URL will be invalid and a task that is delivered through email will not open. |
Legacy If you change settings after a migration from an older version, consider removing the following: |
Configuring an individual node
The property com.cordys.node.url
must point to the gateway of the local node and is set by the installer. It must be updated, for example, when SSL is enabled on the Web server or when the port number is changed.
Property name | Example value |
---|---|
com.cordys.node.url |
http://localserver |
If SSL is enabled and the Certificate Authority is not trusted by Process Platform or the certificate is self-signed, it must be added to the trust store. Follow the instructions in Adding a New Certificate.
Configuring an internal load balancer
To run Process Platform in high availability mode, everything must be deployed at least twice, with a load balancer in front of the Web servers. To ensure that load balancing and failover in a cluster setup work as expected, HTTP requests initiated from within the cluster must be routed through the load balancer. To do this, the URL of the load balancer must be configured on every cluster node, by setting the property com.cordys.internal.cluster.url
.
Property name | Example value |
---|---|
com.cordys.internal.cluster.url |
http://processplatform.acme.lan:8080 |
The load balancer must set the following X-Forward HTTP headers:
Header name | Example value |
---|---|
X-Forwarded-Host |
processplatform.acme.lan:8080 |
X-Forwarded-Proto |
http |
If SSL is enabled and the Certificate Authority is not trusted by Process Platform or the certificate is self-signed, it needs to be added to the trust store. Follow the instructions in Adding a New Certificate.
Chained reverse proxies The |
Configuring a public reverse proxy
If the deployment involves multiple load balancers and reverse proxies, for example, when users access the system through a proxy, but requests from within the cluster are to be routed through a load balancer, then the external cluster URL must be configured on every cluster node, by setting the property com.cordys.public.cluster.url
.
Property name | Example value |
---|---|
com.cordys.public.cluster.url |
https://invoicing.acme.com |
The load balancer must set the following X-Forwarded
HTTP headers:
Header name | Example value |
---|---|
X-Forwarded-Host |
invoicing.acme.com |
X-Forwarded-Proto |
https |